Few administration tasks are more important than maintenance, monitoring, and queue tracking. You must maintain Microsoft Exchange
Server 2010 to ensure proper flow and recoverability of message data.
You need to monitor Exchange Server to ensure that services and
processes are functioning normally, and you need to track Exchange
Server queues to ensure that messages are being processed.
Understanding Troubleshooting Basics
In the Exchange Management
Console, you'll find several tools in the toolbox to help you
troubleshoot messaging problems. These tools include
Mailflow Troubleshooter
Can help you troubleshoot message delivery delays, unexpected
nondelivery reports, and problems with Edge Transport server
synchronization. It can also help you find lost messages.
Performance Troubleshooter
Can help you troubleshoot performance issues related to delays while
using Microsoft Office Outlook, frequent Remote Procedure Call (RPC)
dialog box display in Outlook, and higher-than-expected RPC operations.
Using the troubleshooting tools is straightforward, and you can follow these steps to get started:
In the Exchange Management Console, access the Toolbox node.
Double-click the troubleshooter with which you want to work.
Note:
The first time you start the
troubleshooter, you need to specify your update and error reporting
options. You can configure the troubleshooter either to check for
updates automatically on startup or to not check for updates. If you
want to send Microsoft anonymous information about your server hardware
and how you use Exchange Server, join the customer experience improvement program. Otherwise, specify that you don't want to join the program.
After
the troubleshooter checks for updates or you manually check for updates
by clicking Check For Updates Now, click Go To The Welcome Screen.
Enter
an identifying label for the analysis data. For the performance
troubleshooter, select Troubleshoot New Performance Issue, click Next,
use the selection list provided to specify the symptoms you are seeing,
and then click Next again. For the mailflow troubleshooter, use the
selection list provided to specify the symptoms you are seeing and then
click Next.
Follow the prompts, and select the appropriate options to perform troubleshooting tasks.
As part of your
standard operating procedure, you should track changes in the
configuration of your Exchange servers. The Exchange Management Shell
provides the following cmdlets for obtaining detailed information on the
current configuration of your Exchange servers:
Get-ExchangeServer Displays the general configuration details for Exchange servers
Get-TransportServer Displays configuration details for servers with the Hub Transport Server or Edge Transport server role
Get-MailboxServer Displays configuration details for servers with the Mailbox server role
Get-ClientAccessServer Displays configuration details for servers with the Client Access server role
Get-UMServer Displays configuration details for servers with the Unified Messaging server role
To get related details for a specific server, you pass a cmdlet the identity of the server, as shown in the following example:
Get-TransportServer mailserver25 | fl
To get related details for all servers, omit the –Identity parameter, as shown in the following example:
Get-TransportServer | fl
When you finalize the configuration of your Exchange
servers, you should use these cmdlets to store the configuration
details for each server role. To store the configuration details in a
file, redirect the output to a file, as shown in the following example:
Get-TransportServer mailserver25 | fl >
c:\SavedConfigs\transport2010-0418.txt
If you then store the
revised configuration on a per-role basis any time you make significant
changes, you can use this information during troubleshooting
to help resolve problems that might be related to configuration
changes. To compare two configuration files, you can use the file
compare command, fc, at an elevated, administrator command prompt. When
you use the following syntax with the fc command, the output is the
difference between two files:
fc FilePath1 FilePath2
where FilePath1 is the full file path to the first file and FilePath2 is the full file path to the second file. Here is an example:
fc c:\SavedConfigs\transport2010-0418.txt c:\SavedConfigs\
transport2010-0521.txt
Because the files
contain configuration details for specific dates, the changes shown in
the output represent the configuration changes that you've made to the
server.
To take the idea of gathering and checking configuration information a step further, you can use the Exchange Best
Practices Analyzer (Exchange BPA). Exchange BPA is designed to gather
organizational configuration for you and then perform various types of
scans, including:
Organizational health check
Exchange BPA performs a full scan of the organization, checking for
errors, warnings, nondefault configurations, recent changes, and other
configuration details.
Permissions check Exchange BPA performs a health check and then samples the performance for over a 2-hour period.
Connectivity tests Exchange BPA tests network connections and permissions on each Exchange server.
Baseline configuration checks
Exchange BPA checks for configuration settings that deviate from
baseline values. This allows you to compare the settings on a baseline
server with settings on other servers and report the differences.
You can follow these steps to get started with Exchange BPA:
In the Exchange Management Console, access the Toolbox node, and then double-click Best Practices Analyzer.
After
Exchange BPA checks for updates or you manually check for updates by
clicking Check For Updates Now, click Go To The Welcome Screen.
Do one of the following:
To
start a new scan, click Select Options For A New Scan. Follow the
prompts, and select the appropriate options to perform a scan.
To
view the results of a scan, click Select A Best Practices Scan To View.
Click a scan to review, and then click View A Report Of This Scan.
In the Exchange Management
Console, you can generate basic organizational health reports as well.
To do this, select the organization node in the left pane, and then
select the Click Here To Access The Latest Data link on the
Organizational Health tab. When the Collect Organizational Health Data
Wizard starts, click Next, and then click Collect. When the wizard
finishes gathering information, click Finish. You can then see current
summary information for the Exchange organization, Exchange servers, and Exchange recipients. You can use Get-OrganizationConfig to get summary information about your Exchange organization. Here is an example:
$s=Get-OrganizationConfig; $os=$s.organizationsummary;$os|ft key,value
Other useful cmdlets for checking the Exchange organization include:
Test-ActiveSyncConnectivity Performs a full synchronization against a specified mailbox to test the configuration of Exchange ActiveSync.
Test-EcpConnectivity Verifies that the Exchange Control Panel is running as expected.
Test-EdgeSynchronization Verifies that the subscribed Edge Transport servers have a current and accurate synchronization status.
Test-ExchangeSearch Verifies that Exchange Search is currently enabled and is indexing new e-mail messages in a timely manner.
Test-FederationTrust Verifies that the federation trust is properly configured and functioning as expected.
Test-FederationTrustCertificate Verifies the status of certificates used for federation on all Hub Transport and Client Access servers.
Test-ImapConnectivity Verifies that the IMAP4 service is running as expected.
Test-IPAllowListProvider Verifies the configuration for a specific IP allow list provider.
Test-IPBlockListProvider Verifies the configuration for a specific IP block list provider.
Test-IRMConfiguration Verifies Information Rights Management (IRM) configuration and functionality.
Test-Mailflow
Verifies whether mail can be successfully sent from and delivered to
the system mailbox as well as whether e-mail is sent between Mailbox
servers within a defined latency threshold.
Test-MapiConnectivity Verifies server functionality by logging on to the mailbox that you specify.
Test-MRSHealth Verifies the health of an instance of the Microsoft Exchange Mailbox Replication Service.
Test-OutlookConnectivity
verifies end-to-end Microsoft Outlook client connectivity and also
tests for Outlook Anywhere (RPC/HTTP) and TCP-based connections.
Test-OutlookWebServices verifies the Autodiscover service settings for Outlook.
Test-OwaConnectivity verifies that Outlook Web App is running as expected.
Test-PopConnectivity verifies that the POP3 service is running as expected.
Test-PowerShellConnectivity verifies whether Windows PowerShell remoting on the target Client Access server is functioning correctly.
Test-ReplicationHealth verifies all aspects of the replication and replay status for a Mailbox server in a database availability group.
Test-SenderId verifies whether a specified IP address is the legitimate sending address for a specified SMTP address.
Test-ServiceHealth verifies whether all the Windows services that Exchange requires on a server have started.
Test-SystemHealth Collects data about your Exchange system and analyzes it.
Test-UMConnectivity verifies the operation of a computer that has the Unified Messaging server role installed.
Test-WebServicesConnectivity verifies the functionality of Exchange Web Services.